home *** CD-ROM | disk | FTP | other *** search
- # XPak v0.4.1; 96/09/30. (c) Tom Wheeley; <splitbung>, tomw@tsys.demon.co.uk;
-
- Please note. This manual is formatted as more of a reference guide than a
- manual, so things may not make much sense if read straight through. If you
- are learning about xpak, then skip around the sections mentioned in 1.2.
-
- * If you have an unanswered problem, then contact support@tsys.demon.co.uk *
-
- Table of Contents
-
- 1. What is XPAK?
- 1.1 Introduction
- 1.2 Basic Syntax
-
- 2. What are the operating modes of XPAK?
- 2.1 List
- 2.2 Extract
- 2.3 Add
- 2.4 Remove
- 2.5 reName
-
- 3. Filename specification
- 3.1 Specifying a lumpname
- 3.2 Specifying filenames
- 3.3 Remapping lumpnames to differing filenames
- 3.4 Filename list files
-
- 4. Other Switches
-
- 5. Bugs / Future improvements
-
-
- 1. What is XPAK?
-
- 1.1 Introduction
-
- XPAK is the ultimate utility in Quake .PAK file management :) It offers
- superb flexibility in its use and range of options. With XPAK you can
- create, modify, list and extract entries from any PAK file. XPAK offers
- security features to help prevent you removing every lump from QUAKE.PAK!
-
-
- 1.2 Basic Syntax
-
- The easiest way to remember the syntax for XPAK is as follows:
-
- xpak mode_switch PAKfile other_switches FileList
-
- Where mode_switch is one of -l,-e,-a,-r,-n. See section 2
- PAKfile is the PAK file to work on. eg ID1.PAK
- other_switches affect operation. See section 4 for details
- FileList, List of files/lumps to work from/to. See section 3
-
- The switches / mode_switch can be in any order, but this can become
- confusing. The PAKfile must be placed before the filelist, however.
-
-
- 2. What are the operating modes of XPAK?
-
- Operating modes for XPAK are specified by adding the respective switch
- to the command line. If you specify more than one operating mode, then
- XPAK will politely kick you back into DOS.
-
-
- 2.1 List ( -l )
-
- In List mode, XPAK will list the name, size and offset of each lump in
- the PAK directory which matches the filelist. If no filelist is specified
- then evey lump is displayed. (Switches: -j)
-
- Example: xpak -l id1.pak
-
-
- 2.2 Extract
-
- In Extract mode, XPAK will extract every lump which matches the filelist
- to the filename mentioned in the PAK directory. Any directories which
- need creating are created automatically. If a lumpname:filename pair is
- specified in the file list, then that lump is extracted to the alternative
- filename instead. If there is no filelist, then every file is extracted.
- (Switches: -i -f -b -p -v)
-
- Example: xpak -e id1.pak spr*
-
-
- 2.3 Add
-
- Add mode in XPAK comprises both create and update operations. If the
- PAKfile does not exist, then Add will create it and add all the files
- in the filelist (performing lumpname conversions where appropriate).
- If the PAKfile does exist, then the filelist files are simply added.
- If one of the lumps in the filelist exists in the PAKFile, then that
- entry is updated with the new data from the file. (Switches: -i -p -v)
-
- Example: xpak -a id1.pak -o maps/test4.bsp (Adds new map to PAK file)
- xpak -a id1.pak -o maps/test3.bsp (Replaces map with new file)
- xpak -a maps.pak maps/*.* (Creates PAK file with maps)
-
-
- 2.4 Remove
-
- Remove mode allows you to remove lumps mentioned in the filelist from
- the PAKfile. (Switches: -v)
-
- Example: xpak -r id1.pak -o maps/test4.bsp (Remove the map from the PAK)
-
-
- 2.5 reName
-
- Rename mode simply renames every lump in the filelist to the
- corresponding filename for that lump (You must use lumpname:filename
- notation). The filename is automatically converted to lowercase and
- forward slashes. (Switches: -v)
-
- Example: xpak -n maps.pak maps/test3.bsp:maps/water.map
-
-
- 3. Filename specification
-
- Filename specification is done by putting a succession of patterns on
- the command line, and any filename/lumpname which matches will be acted
- upon. Note that DOS filenames are automatically converted to backslashes
- and lumpnames are automatically lowercased and converted to foreslashes.
-
-
- 3.1 Specifying a lumpname
-
- Lumpnames can be matched by text and the wildcards * and ? Where ?
- matches any single letter, and * matches any sequence of letters. Unlike
- DOS wildcards, '/' and '.' have no special meaning. Thus spr* will match
- sprites/foo.bar. Lumpnames are used by -l -e -r
-
-
- 3.2 Specifying filenames
-
- In Add mode ( -a ) the filespecs no longer refer to lumpnames, but to
- filenames. In order that the files which match such filespecs are all
- gathered these filespecs must use DOS style wildcards, with each directory
- needing to be individually mentioned. Remember that a wildcard / text
- must be specified on either side of the .
-
-
- 3.3 Remapping lumpnames to differing filenames
-
- Sometimes it is desirable to add data from file 'y' to lumpname 'x'.
- This can be done by specifying a remapping oon the command line, of the
- form lumpname:filename (ie x:y) This remapping is used by all modes bar -l
- Note that remappings cannot conatin any wildcards. The use of remapping is
- cheated slightly by Rename ( -n ) as the filename there applies to the
- new lumpname.
-
- When XPAK is compiling a list of all filenames, it takes remapped entries
- in preference over normnal entries, so for example:
-
- xpak -e id1.pak * quake.rc:tomw.rc -v
-
- Here quake.rc is implicitly mentioned twice on the command line, and xpak
- honours the remapped one over the straight extraction. (This will also
- work thus: `xpak -e id1.pak quake.rc:tomw.rc * -v`)
-
-
- 3.4 Filename list files
-
- Sometimes the number of files involved in a PAKfile, can result in long
- tedious command lines, so XPAK can read in file lists from a separate file.
- Note that this is not the same as a response file, as switches in a filelist
- will be counted as files (You can access lumps/files that begin with a -
- with this 'feature' by putting them in a filelist file).
-
- This file is accessed on the command line as @filename, where filename is
- the name of the file containing the file list. Lines in the file list
- starting with '#' are treated as comments.
-
- An example file, which contains the name of every lump in the ID1.PAK is
- distributed with XPAK as ID1_PAK.TXT. Note that you can reorder the files
- in a PAK file by listing (with -j) to a filelist file, reordering the
- filelist, then creating a new PAK with `xpak -a id2.pak @filelist -v`
-
-
- 4. Other Switches
-
- -b # Create Backups.
- In extract, if the extract file exists then a backup is made of the
- existing file. In PAKfile modification modes, a backup is made of
- the PAKfile. (Unimplemented)
-
- -f Force overwrites.
- Normally in extract, if the destination file exists then it is skipped.
- This switch forces XPAK to overwrite that file.
-
- -i Interactive mode.
- In extract mode, XPAK will ask if you want to overwrite existing files
- and Add mode will ask if you want to update a PAK file if the lumpname
- exists. y=Yes, n=No, a=All (Yes to All), s=Skip (No to All), q=Quit
-
- -j Just names.
- In List mode, causes XPAK not to display the Offset and Size data,
- but just the lumpnames. This is useful when redirecting the output of
- XPAK to make filelists (a la ID1_PAK.TXT)
-
- -o Override Safeties
- XPAK has the following safety condition.
- 1. It will not modify a pakfile called PAK0.PAK. (work on a copy!)
- Using the -o switch overrides the safety.
-
- -q # Query mode.
- Mainly for if you can't be bothered to make a filelist, XPAK will ask
- you if you want to process each lump/file
-
- -v verbose mode. Display names of lumps during processing.
- Displays information on what XPAK is doing. Without -v virtually no
- screen output is madeother than errors (expect List).
-
- -x # exclude filenames
- Toggles the exclude flag to exclude the following filenames from the
- filelist. Can also be effected for single entries by prepending
- with ! (neccesary for mixed filelists). Note that a filelist placed
- after a -x will be marked as excludes, except for entries with a !.
- This might work, I'm not sure.
-
- 5. Bugs / Future improvements
-
- . For Add and Remove, XPAK will fail and probably corrupt the PAK file
- if the PAK directory is not at the end of the file! In normal use with
- the ID1.PAK and XPAK this situation will not happen.
-
- . Don't run out of diskspace. If this happens during -a or (unlikely)
- -r, then the PAK file will become unusable. XPAK is very lenient on the
- disk space it requires, never using temp files, but be careful if you
- are working on nearly full shared drive.
-
- . I'm sure that wildcard management could be improved (wildcarded remaps)
-
- . I don't (yet) have a working protected mode TP compiler, so everything
- is done in 64k chunks. (It's not slow, though...)
-
- -----------------------------------------------------------------------------
-